Mobile device and control method thereof

ABSTRACT

A method includes: executing an application prepared by an application programming interface (API) of a platform; and establishing a network connection. A first network connection is selected based on a determination that the application specifies a network connection, or a default network connection is selected, based on a determination that the application does not specify a network connection.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a continuation of U.S. patent application Ser. No. 12/958,007, filed on Dec. 1, 2010, which claims priority from U.S. Patent Provisional Application Nos. 61/265,923 and 61/265,939, filed Dec. 2, 2009, and from Korean Patent Application No. 10-2010-0116091 filed Nov. 22, 2010, in the Korean Intellectual Property Office, the disclosures of which are incorporated herein by reference in their entireties.

BACKGROUND

1. Field

Apparatuses and methods consistent with exemplary embodiments relate to a mobile device and a control method thereof, and more particularly, to a mobile device capable of providing a network function and a control method thereof.

2. Description of the Related Art

A mobile device such as a cellular phone, a smart phone, a tablet personal computer (PC), etc. performs communication through various networks such as third generation (3G), Wi-Fi, etc. Such various networks have their merits and deficiencies regarding connectivity, speed, costs, etc. Thus, it is desirable to selectively use various networks in accordance with purpose or intention.

Meanwhile, an application of a mobile device often uses a network service supported by an operating system (OS), a platform or the like of the mobile device in order to provide a function useful to a user.

However, the OS, the platform, or the like of a related art mobile device does not sufficiently support an application developer to conveniently develop an application in association with the network. Therefore, enhancement of an application developing environment is desirous.

SUMMARY

Exemplary embodiments address at least the above problems and/or disadvantages and other disadvantages not described above. Also, an exemplary embodiment is not required to overcome the disadvantages described above, and an exemplary embodiment may not overcome any of the problems described above.

One or more exemplary embodiments provide a mobile device capable of providing a developing environment in which a preferred network can be more easily set up, and a control method thereof.

According to an aspect of an exemplary embodiment, there is provided a mobile device providing a network function, the mobile device including a display unit which displays an image; a user input unit which receives an input of a user; a communication unit which performs communication through a network; and a control unit which executes an application prepared by an application programming interface (API) of the network function provided by a platform, and controls the communication unit to perform communication in accordance with setup of a preferred network if the application includes the setup of the preferred network.

The platform may define a plurality of operation modes related to the preferred network, the application may include setup of a variable representing one of the plurality of operation modes, and the control unit may control the communication unit to operate in the operation mode corresponding to the setup of the variable.

The plurality of operation modes may include use of Wi-Fi first, use of only a packet switched (PS) domain, and use of only Wi-Fi.

A network connection by the platform may include a default network connection where the application does not specify the network connection, and a custom network connection where the application is enabled to directly control the network, and the control unit may control the communication unit to perform communication in accordance with the setup of the preferred network in the case of the default network connection.

According to another aspect of an exemplary embodiment, there is provided a control method of a mobile device providing a network function, the control method including executing an application prepared by an API provided by a platform of the mobile device; and performing communication in accordance with setup of a preferred network if the application includes the setup of the preferred network.

The platform may define a plurality of operation modes related to the preferred network, the application may include setup of a variable representing one of the plurality of operation modes, and the performing the communication may include performing communication to operate in the operation mode corresponding to the setup of the variable.

The plurality of operation modes may include use of Wi-Fi first, use of only a PS domain, and use of only Wi-Fi.

A network connection by the platform may include a default network connection where the application does not specify the network connection, and a custom network connection where the application is enabled to directly control the network, and the performing the communication may include performing the communication in accordance with the setup of the preferred network in the case of the default network connection.

BRIEF DESCRIPTION OF THE DRAWINGS

The above and/or other aspects will become more apparent from the following description of exemplary embodiments, taken in conjunction with the accompanying drawings, in which:

FIG. 1 is a block diagram showing a configuration of a mobile device according to an exemplary embodiment;

FIG. 2 is a block diagram showing a software configuration of the mobile device of FIG. 1;

FIGS. 3 and 4 show network connection types of the mobile device according to an exemplary embodiment;

FIG. 5 is a view for explaining a preferred network of the mobile device according to an exemplary embodiment; and

FIG. 6 is a flowchart showing an operation of the mobile device according to an exemplary embodiment.

DETAILED DESCRIPTION OF EXEMPLARY EMBODIMENTS

Certain exemplary embodiments are described in greater detail below with reference to accompanying drawings.

In the following description, like drawing reference numerals are used for like elements, even in different drawings. The matters defined in the description, such as detailed construction and elements, are provided to assist in a comprehensive understanding of exemplary embodiments. However, exemplary embodiments can be practiced without those specifically defined matters.

FIG. 1 is a block diagram showing a configuration of a mobile device according to an exemplary embodiment. The mobile device 1 shown in FIG. 1 may include, for example, a cellular phone, a smart phone, a tablet personal computer (PC), etc. The mobile device 1 may include a communication unit 11, a display unit 12, an audio output unit 13, a user input unit 14, a storage unit 16, a control unit 17, a power unit 18, a camera unit 191, and an audio input unit 192.

The communication unit 11 performs communication through a network. The contents and type of the communication performed by the communication unit 11 may vary depending on use and function of the mobile device 1. For example, in the case of a telephone function, the communication unit 11 calls the other device (not shown) for telephone conversation. In this exemplary embodiment, the calling type includes 3G. In the case of an Internet function, the communication unit 11 performs Internet connection with a predetermined server (not shown) for transmitting/receiving data. Further, the communication unit 11 may perform communication with a peripheral device (not shown) through local communication such as Bluetooth, WiFi, etc. The communication unit 11 performs the communication under control of the control unit 17.

The display unit 12 displays an image representing the operation or state of the mobile device 1. The display unit 12 may display an image by using various display devices including, for example, a liquid crystal display (LCD), an organic light emitting device (OLED), etc. The audio output unit 13 outputs an audio representing the operation or state of the mobile device 1. The audio output unit 13 may include an audio processor (not shown) that processes an audio signal, and a loudspeaker (not shown) that outputs an audio based on an audio signal.

The user input unit 14 receives a user's command. The user input unit 14 may receive a user's command in various forms, which may include a key input unit (not shown) that receives a user's command by a key input, and a touch input unit (not shown) that receives a user's command by a touch input. A touch input unit may include a touch screen provided in the display unit 12.

The storage unit 16 is a non-volatile memory including, for example, a flash memory, a hard disk drive, etc., which stores data or programs for operating the mobile device 1. The power unit 18 supplies power for operating the mobile device 1. The camera unit 191 takes an image, and the audio input unit 192 may include a microphone or the like and receives an audio. Some of the above-described elements, for example, the camera unit 191, or the like may be omitted from the mobile device 1 in consideration of its function or use.

The control unit 17 controls the operation of the elements in the mobile device 1. The control unit 17 may include a read only memory (ROM) 171 where a control program for performing an operation is stored, a random access memory (RAM) 172 where the control program is at least partially loaded, and a central processing unit (CPU) 173 which executes the loaded control program. The control program of the control unit 17 may be stored in the storage unit 16 as well as in the ROM 171. The control program of the control unit 17 may include a plurality of programs. FIG. 2 is a block diagram showing an exemplary configuration of the control program in the control unit 17.

As shown in FIG. 2, the control program of the control unit 17 may include an OS 21, a device driver 22, a platform 23, and an application 24. The OS 21 manages and controls overall operations of the mobile device 1. The device driver 22 performs an interface between a hardware device such as the communication unit 16 and the OS 21. The platform 23 performs an interface between the OS 21 and the application 24, and includes an API 231 for supporting the application 24.

The application 24 performs at least one function, and may be prepared using the API 231 of the platform 23. The function performed by the application 24 includes a network function. The application 24 may be transmitted from the external device through the communication unit 11 and installed on the mobile device 1. That is, a user can download the application 24 via the Internet or the like and install it on the mobile device 1.

The API 231 of the platform 23 includes an API for the network function which is also referred to as a network service. For example, a network connection representing an actual run-time session is initially established for transmitting and receiving data through a network using the platform 23. To set up the network connection, a network account may be used. The network account encapsulates configuration parameters such as a protocol type, an access point name, a local Internet protocol (IP) address, a domain name system (DNS) address, authentication information, etc. After the network connection is successfully established, a data communication protocol such as a hyper text transfer protocol (HTTP), socket methods, etc. may be applied.

FIGS. 3 and 4 show network connection types of the mobile device according to an exemplary embodiment. FIG. 3 shows a default network connection, and FIG. 4 shows a custom network connection.

Referring to FIG. 3, the application 24 requests a network service of the platform 23 without a network connection via a request 31. The network service (e.g., HTTP, socket methods, etc.) internally starts the default network connection in accordance with a preset default (as indicated by a reference numeral 32. Next, the network service of the platform 23 accesses a network 5 via a connection 33.

The default network connection shown in FIG. 3 is established because the application 24 does not specify the network connection, and therefore usage of the network is simplified in view of the application developer. Also, the platform 23 is allowed to fully manage the network connection. Thus, the application developers can easily and simply develop the application 24 even though they do not know complicated contents of the API 231.

Referring to FIG. 4, the application 24 creates the custom network connection and starts it as indicated by a reference numeral 41. Program 1 shows an example of the application 24 that creates and starts a custom network connection.

Program 1 // start the NetConnection using namespace Osp::Net; void Test(void) { // Account ID NetAccountId accountId = INVALID_HANDLE; result r = E_SUCCESS; // Account manager NetAccountManager netAccountManager; r = netAccountManager.Construct( ); accountId = netAccountManager.GetNetAccountId( ); // Construct a Listener TestListener* pMyListener = new TestListener( ); // NetConnection instance allocation NetConnection* pNetConnection = new NetConnection; // NetConnection Construction r = pNetConnection−>Construct(accountId); // _(——)NetConnectionEvent AddListener r = pNetConnection- >AddNetConnectionListener(pMyListener); // NetConnection connect r = pNetConnection−>Start( ); }

Referring back to FIG. 4, the application 24 requests a network service of the platform 23 with a network connection via a request 42. Next, the network service of the platform 23 accesses the network 5 via a connection 43.

The custom network connection described with reference to FIG. 4 may be for an advanced developer, and enables the application 24 to directly control the network 5. Thus, the application 24 can use a specific network account, and start or stop the network connection at any time. That is, the application developer is allowed to develop the application 24 that provides a more enhanced function.

The control unit 17 of an exemplary embodiment may enable the developer to perform communication with a desired network which may be referred to as a preferred network in accordance with a setup of the application 24. FIG. 5 is a view for explaining a preferred network of the mobile device in this exemplary embodiment. The preferred network in this exemplary embodiment includes Wi-Fi 51 and 3G 52. The 3G is an example of a PS domain. The control unit 17 may be connected to one of the preferred networks, i.e., the Wi-Fi 51 and the 3G 52 in accordance with the setup of the application 24.

The API 231 of the platform 23 defines a plurality of operation modes related to the preferred network. The application 24 includes setup of variables that represents one of the operation modes defined by the API 231 of the platform 23. Table 1 shows an example of variables corresponding to the operation modes related to the preferred network of the present exemplary embodiment, and Program 2 shows an example of the application 24 that sets up the preferred network. The platform 23 accomplishes connection to one preferred network between the Wi-Fi 51 and the 3G 52 with reference to the variables set up in the application 24.

TABLE 1 Variables Operation modes NET_WIFI_FIRST Use of WI-FI first NET_PS_ONLY Use of only PS domain NET_WIFI_ONLY Use of only Wi-Fi Program 2 Net::NetAccountManager::Construct( ) Net::NetAccountManager::SetNetPreference(NET_PS_ONLY)

In this exemplary embodiment, the platform 23 provides the foregoing simple API 231 in association with the preferred network, so that the application developer can readily perform the setup related to the preferred network by simply selecting the given variable of the API 231. Also, the setup of the preferred network may be applied to the default network connection described with reference to FIG. 3. In other words, although the application developer does not completely know the API 231 to accomplish the custom network connection described with reference to FIG. 4, the developer is enabled to set up the preferred network even when the default network connection is used. Accordingly, there is provided an environment for more easily developing the application 24.

FIG. 6 is a flowchart showing an operation of the mobile device according to an exemplary embodiment. At operation 501, the application 24 using the API 231 of the platform is executed. At operation 502, it is ascertained whether the application 24 includes setup related to the preferred network. If the application 24 includes the setup related to the preferred network, at operation 503 the communication is performed in accordance with the setup of the preferred network.

As described above, there is provided a developing environment in which a preferred network can be more easily set up.

The foregoing exemplary embodiments and advantages are merely exemplary and are not to be construed as limiting. The present teaching can be readily applied to other types of apparatuses. Also, the description of the exemplary embodiments is intended to be illustrative, and not to limit the scope of the claims, and many alternatives, modifications, and variations will be apparent to those skilled in the art. 

What is claimed is:
 1. A method comprising: executing an application prepared by an application programming interface (API) of a platform; if the executed application is associated with first network setting information, establishing a first network connection based on a first operation mode among a plurality of operation modes which are defined in the platform, the first operation mode defining network setting information of the executed application and specifying the first network connection; and if the executed application is associated with second network setting information, requesting a network service of the platform based on a determination that a second network connection is not established, and, in response to the requesting, starting the second network connection via the platform based on a second operation mode among the plurality of operation modes, the second operation mode defining network setting information of the platform and specifying the second network connection.
 2. The method of claim 1, wherein the establishing the first network connection comprises: establishing the first network connection based on the first operation mode being set up in the application via the API.
 3. The method of claim 2, wherein the plurality of operation modes comprises at least two among: a use of Wi-Fi first; a use of only a packet switched (PS) domain; and a use of only the Wi-Fi.
 4. The method of claim 2, further comprising: requesting the network service of the platform with the first network connection; and accessing a network based at least on the requesting.
 5. The method of claim 1, wherein the starting the second network connection further comprises: accessing a network, via the second network connection.
 6. The method of claim 1, further comprising: displaying an information corresponding to the network service.
 7. The method of claim 1, further comprising: prior to the executing the application, establishing the network service by using the second network connection.
 8. An apparatus comprising: a processor; a display to display an information corresponding to a network service; and a communication unit coupled to the processor and controlled by the processor to communicate with an electronic device external to the apparatus through a network, wherein the processor is configured to: execute an application prepared by an application programming interface (API) of a platform, establish a first network connection via the communication unit, if the executed application is associated with first network setting information, based on network setting information of the executed application specifying the first network connection, the first network connection being managed by the application, and use a second network connection via the communication unit, if the executed application is associated with second network setting information, based on network setting information of the platform specifying the second network connection, wherein the processor is further configured to use the second network connection based at least on a preferred network being set up in the platform.
 9. The apparatus of claim 8, further comprising: a user input unit which is operatively coupled with the processor and configured to receive, from a user, an input corresponding to the application.
 10. The apparatus of claim 8, wherein the processor is further configured to: establish the first network connection, based on one of a plurality of operation modes which are defined in the platform, the one of the plurality of operation modes being set up in the application via the API.
 11. The apparatus of claim 10, wherein the plurality of operation modes comprises at least two among: a mode to provide a Wi-Fi first, a mode to provide only a packet switched (PS) domain, and a mode to provide only the Wi-Fi.
 12. The apparatus of claim 10, wherein: the application includes at least one variable corresponding to the one of the plurality of operation modes.
 13. The apparatus of claim 10, wherein the application is configured to directly control the network.
 14. The apparatus of claim 13, wherein the application is configured to start and stop the first network connection via the platform.
 15. The apparatus of claim 10, wherein the processor is further configured to request the network service of the platform with the first network connection, and access the network based at least on a request for the network service.
 16. The apparatus of claim 10, wherein the processor is further configured to request the network service, without a network connection, and use the second network connection via the platform, based at least on a request for the network service.
 17. The apparatus of claim 8, wherein the processor is further configured to establish the network service by using the second network connection prior to performing an execution of the application.
 18. An apparatus comprising: a processor; a display to display an information corresponding to a network service; and a communication unit coupled to the processor and controlled by the processor to communicate with an electronic device external to the apparatus through a network, wherein the processor is configured to: execute an application prepared by an application programming interface (API) of a platform, establish a first network connection via the communication unit, if the executed application is associated with first network setting information, based on a first operation mode among a plurality of operation modes which are defined in the platform, the first operation mode defining network setting information of the executed application and specifying the first network connection, the first network connection being managed by the application, and request the network service of the platform based on a determination that a second network connection is not established, and, in response to requesting, start the second network connection via the communication unit, if the executed application is not associated with the first network setting information, based on a second operation mode among the plurality of operation modes, the second operation mode defining network setting information of the platform and specifying the second network connection.
 19. The apparatus of claim 18, wherein the processor is further configured to establish the second network connection prior to an execution of the application. 